using System;
using System.ComponentModel.DataAnnotations;

namespace WorkFlowCore.BusinessDemo.Web.Entities
{
    public class WorkTaskStateInfo
    {
        [Key]
        public int Id { get; set; }
        
        /// <summary>
        /// 实体全称
        /// </summary>
        public string EntityFullName { get; set; }
        
        /// <summary>
        /// 实体主键值
        /// </summary>
        public string EntityKeyValue { get; set; }
        
        /// <summary>
        /// 审批状态
        /// </summary>
        public WorkTaskStatus WorkTaskStatus { get; set; }
        
        /// <summary>
        /// 流程名称
        /// </summary>
        public string ProcessName { get; set; }
        
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdatedTime { get; set; }
        
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }
        
        /// <summary>
        /// 创建用户ID
        /// </summary>
        public string CreatedUserId { get; set; }
    }
    
    public enum WorkTaskStatus
    {
        /// <summary>
        /// 待处理
        /// </summary>
        Pending = 0,
        
        /// <summary>
        /// 处理中
        /// </summary>
        Processing = 1,
        
        /// <summary>
        /// 已完成
        /// </summary>
        Processed = 2,
        
        /// <summary>
        /// 撤销
        /// </summary>
        Canceled = 3,
        
        /// <summary>
        /// 已驳回
        /// </summary>
        Rejected = 4,
    }
}
